package com.oldbook.manage.domain;

import com.oldbook.common.annotation.Excel;
import com.oldbook.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;


/**
 * 教材管理对象 tb_textbook
 *
 * @author Exiaoke
 * @date 2025-02-17
 */
@ApiModel(description = "教材管理对象")
@Data // Lombok annotation to generate all the boilerplate that is normally required for POJOs.
@NoArgsConstructor // Generates a constructor with no parameters.
@AllArgsConstructor // Generates a constructor with 1 parameter for each field in the class.
public class Textbook extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**
     * 教材ID
     */
    @ApiModelProperty(value = "教材ID", name = "textbookId", example = "", required = true)
    private Long textbookId;

    /**
     * 教材名称
     */
    @Excel(name = "教材名称")
    @ApiModelProperty(value = "教材名称", name = "name", example = "", required = true)
    private String name;

    /**
     * ISBN编号
     */
    @Excel(name = "ISBN编号")
    @ApiModelProperty(value = "ISBN编号", name = "isbn", example = "", required = true)
    private String isbn;

    /**
     * 库存数量
     */
    @Excel(name = "库存数量")
    @ApiModelProperty(value = "库存数量", name = "stock", example = "", required = true)
    private Long stock;



    /**
     * 创建人
     */
    @Excel(name = "创建人")
    @ApiModelProperty(value = "创建人", name = "createUser", example = "", required = true)
    private String createUser;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    @ApiModelProperty(value = "修改人", name = "updateUser", example = "", required = true)
    private String updateUser;

    /**
     * 备注信息
     */
    @Excel(name = "备注信息")
    @ApiModelProperty(value = "备注信息", name = "remarks", example = "", required = true)
    private String remarks;
    /**
     * 版本号
     */
    @Excel(name = "版本号")
    @ApiModelProperty(value = "版本号", name = "version", example = "", required = true)
    private int version;

    /**
     * 作者
     */
    @Excel(name = "作者")
    @ApiModelProperty(value = "作者", name = "author", example = "", required = true)
    private String author;

    /**
     * 出版社
     */
    @Excel(name = "出版社")
    @ApiModelProperty(value = "出版社", name = "publisher", example = "", required = true)
    private String publisher;

    /**
     * 分类ID（外键）
     */
    @Excel(name = "分类ID", readConverterExp = "外=键")
    @ApiModelProperty(value = "分类ID（外键）", name = "categoryId", example = "", required = true)
    private Long categoryId;


}